/*     */ package com.iris.egrant.orm;
/*     */ 
/*     */ import java.io.Serializable;
/*     */ import java.util.Collections;
/*     */ import java.util.List;
/*     */ import org.apache.commons.lang.StringUtils;
/*     */ import org.slf4j.Logger;
/*     */ import org.slf4j.LoggerFactory;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class Page<T>
/*     */   implements Serializable
/*     */ {
/*     */   public static final String ASC = "asc";
/*     */   public static final String DESC = "desc";
/*     */   public static final int MIN_PAGESIZE = 10;
/*     */   public static final int MAX_PAGESIZE = 2147483647;
/*     */   private static final long serialVersionUID = -4254508930017843989L;
/*  27 */   protected final Logger logger = LoggerFactory.getLogger(getClass());
/*     */ 
/*     */   
/*  30 */   protected Integer pageNo = Integer.valueOf(1);
/*  31 */   protected Integer pageSize = Integer.valueOf(10);
/*  32 */   protected String orderBy = null;
/*  33 */   protected String order = null;
/*     */   protected boolean autoCount = true;
/*  35 */   protected Integer lastPage = Integer.valueOf(-1);
/*  36 */   protected Integer first = Integer.valueOf(0);
/*  37 */   protected Integer pageCount = Integer.valueOf(0);
/*  38 */   protected Long totalPages = Long.valueOf(0L);
/*     */ 
/*     */   
/*  41 */   protected Integer paramPageNo = Integer.valueOf(1);
/*     */ 
/*     */   
/*  44 */   protected List<T> result = Collections.emptyList();
/*  45 */   protected Long totalCount = Long.valueOf(-1L);
/*     */ 
/*     */   
/*     */   public Page() {}
/*     */ 
/*     */   
/*     */   public Page(Integer pageSize) {
/*  52 */     setPageSize(pageSize);
/*     */   }
/*     */   
/*     */   public Page(Integer pageSize, boolean autoCount) {
/*  56 */     setPageSize(pageSize);
/*  57 */     setAutoCount(autoCount);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Integer getPageNo() {
/*  65 */     setTotalPages(getTotalPages());
/*  66 */     if (this.pageNo.intValue() > this.totalPages.longValue()) {
/*  67 */       if (this.totalPages.longValue() <= 0L) {
/*  68 */         this.pageNo = Integer.valueOf(1);
/*     */       } else {
/*  70 */         this.pageNo = Integer.valueOf(this.totalPages.toString());
/*     */       } 
/*     */     }
/*  73 */     return this.pageNo;
/*     */   }
/*     */   
/*     */   public Integer getParamPageNo() {
/*  77 */     return this.pageNo;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setPageNo(Integer pageNo) {
/*  84 */     if (pageNo == null || pageNo.intValue() < 1) {
/*  85 */       this.pageNo = Integer.valueOf(1);
/*     */     } else {
/*  87 */       this.pageNo = pageNo;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Integer getPageSize() {
/*  95 */     return this.pageSize;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setPageSize(Integer pageSize) {
/* 102 */     if (pageSize == null) {
/* 103 */       this.pageSize = Integer.valueOf(10);
/*     */     } else {
/* 105 */       this.pageSize = pageSize;
/*     */     } 
/* 107 */     if (this.pageSize.intValue() < 10) {
/* 108 */       this.pageSize = Integer.valueOf(10);
/*     */     }
/* 110 */     if (this.pageSize.intValue() > Integer.MAX_VALUE) {
/* 111 */       this.pageSize = Integer.valueOf(2147483647);
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Integer getFirst() {
/* 119 */     return Integer.valueOf((getPageNo().intValue() - 1) * this.pageSize.intValue() + 1);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Long getEnd() {
/* 129 */     if (this.totalCount.longValue() == -1L || this.totalCount.longValue() == 0L) {
/* 130 */       return Long.valueOf(0L);
/*     */     }
/* 132 */     Integer end = Integer.valueOf(getFirst().intValue() + this.pageSize.intValue());
/* 133 */     if (end.intValue() > this.totalCount.longValue())
/* 134 */       return this.totalCount; 
/* 135 */     return Long.valueOf(end.toString());
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public String getOrderBy() {
/* 143 */     return this.orderBy;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setOrderBy(String orderBy) {
/* 150 */     this.orderBy = orderBy;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean isOrderBySetted() {
/* 157 */     return (StringUtils.isNotBlank(this.orderBy) && StringUtils.isNotBlank(this.order));
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public String getOrder() {
/* 164 */     return this.order;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setOrder(String order) {
/* 175 */     String[] orders = StringUtils.split(StringUtils.lowerCase(order), ',');
/* 176 */     for (String orderStr : orders) {
/* 177 */       if (!StringUtils.equals("desc", orderStr) && !StringUtils.equals("asc", orderStr)) {
/* 178 */         throw new IllegalArgumentException("排序方向" + orderStr + "不是合法值");
/*     */       }
/*     */     } 
/* 181 */     this.order = StringUtils.lowerCase(order);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean isAutoCount() {
/* 188 */     return this.autoCount;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setAutoCount(boolean autoCount) {
/* 195 */     this.autoCount = autoCount;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public List<T> getResult() {
/* 204 */     return this.result;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setResult(List<T> result) {
/* 211 */     this.result = result;
/* 212 */     if (result != null && result.size() > 0) {
/* 213 */       this.pageCount = Integer.valueOf(result.size());
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Long getTotalCount() {
/* 221 */     return this.totalCount;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setTotalCount(Long totalCount) {
/* 228 */     this.totalCount = totalCount;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setTotalCount(Integer totalCount) {
/* 235 */     if (totalCount != null) {
/* 236 */       this.totalCount = Long.valueOf(totalCount.toString());
/*     */     } else {
/* 238 */       this.totalCount = null;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Long getTotalPages() {
/* 246 */     if (this.totalCount == null || this.totalCount.longValue() < 0L) {
/* 247 */       return Long.valueOf(-1L);
/*     */     }
/* 249 */     Long count = Long.valueOf(this.totalCount.longValue() / this.pageSize.intValue());
/* 250 */     if (this.totalCount.longValue() % this.pageSize.intValue() > 0L) {
/* 251 */       Long long_1 = count, long_2 = count = Long.valueOf(count.longValue() + 1L);
/*     */     }
/* 253 */     return count;
/*     */   }
/*     */   
/*     */   public Long getLastPage() {
/* 257 */     return getTotalPages();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean isHasNext() {
/* 264 */     return ((getPageNo().intValue() + 1) <= getTotalPages().longValue());
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Integer getNextPage() {
/* 271 */     int pageNo = getPageNo().intValue();
/* 272 */     if (isHasNext()) {
/* 273 */       return Integer.valueOf(pageNo + 1);
/*     */     }
/* 275 */     return Integer.valueOf(pageNo);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean isHasPre() {
/* 282 */     return (this.pageNo.intValue() - 1 >= 1);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public Integer getPrePage() {
/* 289 */     if (isHasPre()) {
/* 290 */       return Integer.valueOf(getPageNo().intValue() - 1);
/*     */     }
/* 292 */     return getPageNo();
/*     */   }
/*     */   
/*     */   public Integer getPageCount() {
/* 296 */     return this.pageCount;
/*     */   }
/*     */   
/*     */   public void setPageCount(Integer pageCount) {
/* 300 */     this.pageCount = pageCount;
/*     */   }
/*     */   
/*     */   public void setTotalPages(Long totalPages) {
/* 304 */     this.totalPages = getTotalPages();
/*     */   }
/*     */ }


/* Location:              D:\文件kjt\WEB-INF\lib\egrant-core-2.2.20240205.1659.jar!\com\iris\egrant\orm\Page.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       1.1.3
 */